<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Lamey.Tools.CommandLine</name>
    </assembly>
    <members>
        <member name="T:Lamey.Tools.CommandLine.CommandLineArgs">
            <summary>
            A helper class to aid in testing.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.CommandLineParser.ValidateSettingsClass">
            <summary>
            Validates a class inheriting from <see cref="T:Lamey.Tools.CommandLine.ISettings"/> to
            ensure that it follows the rules of this command line parser.
            
            To improve reliability, <see cref="M:Lamey.Tools.CommandLine.CommandLineParser.ValidateSettingsClass"/> is called
            by every overload of the <see cref="T:Lamey.Tools.CommandLine.CommandLineParser"/> constructor
            and static <see cref="M:Lamey.Tools.CommandLine.CommandLineParser.GetSettings"/> methods.
            
            To improve performance, those constructors and methods will only call
            <see cref="M:Lamey.Tools.CommandLine.CommandLineParser.ValidateSettingsClass"/> if a debugger is attached to the process.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.CommandLineParser.TypeIsGTE(System.Type,System.Type)">
            <summary>
            Determines whether the specified types are equal,
            or if the first is an ancestor of the second.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.CommandLineParser.TryGetSwitch(System.String@,Lamey.Tools.CommandLine.SwitchInfo@)">
            <summary>
            Gets the appropriate SwitchInfo object for the given arg, and filters the switch character(s) from the arg.
            </summary>
            <param name="settingsClassInfo"></param>
            <param name="arg"></param>
            <param name="switchInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.CommandLineParser.GIA_InvokeValidationMethod(System.Reflection.MethodInfo,System.Object,System.String,System.Object)">
            <summary>
            Call a validation method for a global indexed argument whose
            parameter's type is descended from the argument's property's type.
            </summary>
            <param name="method"></param>
            <param name="instance"></param>
            <param name="castedArg"></param>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.CommandLineParser.GUA_InvokeValidationMethod(System.Reflection.MethodInfo,System.Object,System.Collections.Generic.List{System.Object})">
            <summary>
            Call a validation method for the global unconsumed arguments whose
            parameter's type is descended from the argument's property's type.
            </summary>
            <param name="method"></param>
            <param name="instance"></param>
            <param name="list"></param>
            <returns></returns>
        </member>
        <member name="P:Lamey.Tools.CommandLine.CommandLineParser.SettingsInfo">
            <summary>
            Contains the information about the ISettings-implementing
            class and its members that implement attributes from this library.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.SettingsClassInfo.GetInstance(System.Type)">
            <summary>
            
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.SettingsClassInfo.GetSwitchInfos">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.SettingsClassInfo.GetArgumentInfos">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.SettingsClassInfo.GetValidateArgumentInfos">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.Extensions.GetIConvertibleTypes">
            <summary>
            Gets an array of types that can be converted by the System.IConvertibleType interface.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.Extensions.IsIConvertibleType(System.Type)">
            <summary>
            Determines whether the specified type can be
            converted by the System.IConvertibleType interface.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.Extensions.IsConvertibleType(System.Type)">
            <summary>
            Determines whether the specified type can be
            converted from a string by this command line parser.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.Extensions.IsCollection(System.Type)">
            <summary>
            Determines whether the specified type is a supported collection type.
            </summary>
            <param name="collectionType"></param>
            <returns></returns>
        </member>
        <member name="M:Lamey.Tools.CommandLine.Extensions.IsCollectionOfConvertibleType(System.Type)">
            <summary>
            Determines whether the specified type is a supported collection type of convertible types.
            </summary>
            <param name="collectionType"></param>
            <returns></returns>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ISettings.GlobalUnconsumedArguments">
            <summary>
            Gets or sets an array of all the global unconsumed arguments from the command line.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.AllowSwitchCharsInArguments">
            <summary>
            Gets or sets a value indicating whether the parser allows
            switch indicator characters at the beginning of arguments.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.ContinueOnFailedValidation">
            <summary>
            Gets or sets a value indicating whether the parser should continue
            or throw an exception when an argument fails validation.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.PropertySwitchesAreExclusive">
            <summary>
            Gets or sets a value indicating whether all the switches on
            a given property are automatically exclusive of each other.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.SwitchesAreCaseSensitive">
            <summary>
            Gets or sets a value indicating whether switch names are case sensitive.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.SwitchIndicators">
            <summary>
            Gets or sets an array of string values that will be used to indicate a switch.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.ParserInfo.UnconsumedArgumentMode">
            <summary>
            Gets a value indicating whether global unconsumed arguments are allowed in the command line.
            </summary>
        </member>
        <member name="T:Lamey.Tools.CommandLine.SettingsBase`1">
            <summary>
            Provides a standard base class for implementations of
            the <see cref="T:Lamey.Tools.CommandLine.ISettings"/> interface.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.SwitchAttribute.AddExclusion(System.String)">
            <summary>
            A helper method to add an additional switch to the list of exclusive switches.
            </summary>
            <param name="switchName">The name of the switch to add to the list of exclusive switches.</param>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.Name">
            <summary>
            The name of the switch, as it will be used on the command line.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.ExclusiveOf">
            <summary>
            A list of the names of other switches that this
            switch CANNOT be used with on the same command line.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.SetValue">
            <summary>
            A value to set to the associated property if this switch is specified.
            If the property type is an enum and SetValue is null, SetValue will be
            assigned the default value of the enum.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.MinOccurrences">
            <summary>
            Gets or sets the minumum number of occurrences of the current switch that are allowed in a command line.
            Generally, you do not want to REQUIRE a switch. If there is any required information, then it
            should be a global indexed argument, and its associated property should be decorated with the
            <see cref="T:Lamey.Tools.CommandLine.ArgumentAttribute"/> attribute.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.MaxOccurrences">
            <summary>
            Gets or sets the maximum number of occurrences of the current
            switch that are allowed in a command line, or -1 if there is no limit.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.MinArguments">
            <summary>
            Gets or sets the minumum number of arguments that the current switch can consume.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.MaxArguments">
            <summary>
            Gets or sets the maximum number of arguments that the current
            switch can consume, or -1 if there is no limit. If the property
            is not an array and this value is not 0, then it will be set to 1.
            </summary>
        </member>
        <member name="P:Lamey.Tools.CommandLine.SwitchAttribute.ArgumentSeparator">
            <summary>
            Gets or sets one or more characters that are to be used
            to separate joined switch arguments. If this value is not
            specified or is an empty string, then the entire remainder
            of the argument string beyond the switch name is treated
            as one large switch argument.
            Note: Setting this value to String.Empty will ensure that
            the entire remainder of the argument is returned as one value.
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.ValidateArgumentAttribute.#ctor">
            <summary>
            Validate global unconsumed argument(s).
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.ValidateArgumentAttribute.#ctor(System.Int32)">
            <summary>
            Validate global indexed argument(s).
            </summary>
        </member>
        <member name="M:Lamey.Tools.CommandLine.ValidateArgumentAttribute.#ctor(System.String)">
            <summary>
            Validate a switch's argument(s).
            </summary>
        </member>
    </members>
</doc>
